package com.yzcity.cinema.service.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.time.Instant;
import java.time.LocalDate;
import javax.validation.constraints.*;
import java.io.Serializable;

/**
 * A DTO for the {@link com.yzcity.cinema.domain.Actor} entity.
 */
@ApiModel(description = "演员")
public class ActorDTO implements Serializable {
    
    private Long id;

    /**
     * 中文名称
     */
    @NotNull
    @Size(max = 20)
    @ApiModelProperty(value = "中文名称", required = true)
    private String cname;

    /**
     * 英文名称
     */
    @NotNull
    @Size(max = 20)
    @ApiModelProperty(value = "英文名称", required = true)
    private String ename;

    /**
     * 别名
     */
    @NotNull
    @Size(max = 100)
    @ApiModelProperty(value = "别名", required = true)
    private String alias;

    /**
     * 饰演
     */
    @NotNull
    @Size(max = 30)
    @ApiModelProperty(value = "饰演", required = true)
    private String role;

    /**
     * 标签
     */
    @NotNull
    @ApiModelProperty(value = "标签", required = true)
    private String label;

    /**
     * 生日
     */
    @NotNull
    @ApiModelProperty(value = "生日", required = true)
    private LocalDate birthday;

    /**
     * 出生地
     */
    @NotNull
    @ApiModelProperty(value = "出生地", required = true)
    private String birthSite;

    /**
     * 身份
     */
    @NotNull
    @ApiModelProperty(value = "身份", required = true)
    private String identity;

    /**
     * 性别
     */
    @NotNull
    @ApiModelProperty(value = "性别", required = true)
    private String gender;

    /**
     * 国籍
     */
    @NotNull
    @ApiModelProperty(value = "国籍", required = true)
    private String nationality;

    /**
     * 身高
     */
    @NotNull
    @Size(max = 20)
    @ApiModelProperty(value = "身高", required = true)
    private String height;

    /**
     * 血型
     */
    @NotNull
    @ApiModelProperty(value = "血型", required = true)
    private Long bloodType;

    /**
     * 星座
     */
    @NotNull
    @ApiModelProperty(value = "星座", required = true)
    private String constellation;

    /**
     * 毕业院校
     */
    @NotNull
    @ApiModelProperty(value = "毕业院校", required = true)
    private String graduatedFor;

    /**
     * 排名
     */
    @NotNull
    @ApiModelProperty(value = "排名", required = true)
    private String rank;

    /**
     * 粉丝数
     */
    @NotNull
    @ApiModelProperty(value = "粉丝数", required = true)
    private Integer fansCount;

    /**
     * 粉丝名称
     */
    @NotNull
    @ApiModelProperty(value = "粉丝名称", required = true)
    private String fansName;

    /**
     * 经纪公司
     */
    @NotNull
    @ApiModelProperty(value = "经纪公司", required = true)
    private String brokerageAgency;

    /**
     * 创建人
     */
    @Size(max = 30)
    @ApiModelProperty(value = "创建人")
    private String createdBy;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private Instant createdTime;

    /**
     * 最后更新人
     */
    @Size(max = 30)
    @ApiModelProperty(value = "最后更新人")
    private String lastModifiedBy;

    /**
     * 最后更新时间
     */
    @ApiModelProperty(value = "最后更新时间")
    private Instant lastModifiedTime;

    
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getCname() {
        return cname;
    }

    public void setCname(String cname) {
        this.cname = cname;
    }

    public String getEname() {
        return ename;
    }

    public void setEname(String ename) {
        this.ename = ename;
    }

    public String getAlias() {
        return alias;
    }

    public void setAlias(String alias) {
        this.alias = alias;
    }

    public String getRole() {
        return role;
    }

    public void setRole(String role) {
        this.role = role;
    }

    public String getLabel() {
        return label;
    }

    public void setLabel(String label) {
        this.label = label;
    }

    public LocalDate getBirthday() {
        return birthday;
    }

    public void setBirthday(LocalDate birthday) {
        this.birthday = birthday;
    }

    public String getBirthSite() {
        return birthSite;
    }

    public void setBirthSite(String birthSite) {
        this.birthSite = birthSite;
    }

    public String getIdentity() {
        return identity;
    }

    public void setIdentity(String identity) {
        this.identity = identity;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public String getNationality() {
        return nationality;
    }

    public void setNationality(String nationality) {
        this.nationality = nationality;
    }

    public String getHeight() {
        return height;
    }

    public void setHeight(String height) {
        this.height = height;
    }

    public Long getBloodType() {
        return bloodType;
    }

    public void setBloodType(Long bloodType) {
        this.bloodType = bloodType;
    }

    public String getConstellation() {
        return constellation;
    }

    public void setConstellation(String constellation) {
        this.constellation = constellation;
    }

    public String getGraduatedFor() {
        return graduatedFor;
    }

    public void setGraduatedFor(String graduatedFor) {
        this.graduatedFor = graduatedFor;
    }

    public String getRank() {
        return rank;
    }

    public void setRank(String rank) {
        this.rank = rank;
    }

    public Integer getFansCount() {
        return fansCount;
    }

    public void setFansCount(Integer fansCount) {
        this.fansCount = fansCount;
    }

    public String getFansName() {
        return fansName;
    }

    public void setFansName(String fansName) {
        this.fansName = fansName;
    }

    public String getBrokerageAgency() {
        return brokerageAgency;
    }

    public void setBrokerageAgency(String brokerageAgency) {
        this.brokerageAgency = brokerageAgency;
    }

    public String getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    public Instant getCreatedTime() {
        return createdTime;
    }

    public void setCreatedTime(Instant createdTime) {
        this.createdTime = createdTime;
    }

    public String getLastModifiedBy() {
        return lastModifiedBy;
    }

    public void setLastModifiedBy(String lastModifiedBy) {
        this.lastModifiedBy = lastModifiedBy;
    }

    public Instant getLastModifiedTime() {
        return lastModifiedTime;
    }

    public void setLastModifiedTime(Instant lastModifiedTime) {
        this.lastModifiedTime = lastModifiedTime;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (!(o instanceof ActorDTO)) {
            return false;
        }

        return id != null && id.equals(((ActorDTO) o).id);
    }

    @Override
    public int hashCode() {
        return 31;
    }

    // prettier-ignore
    @Override
    public String toString() {
        return "ActorDTO{" +
            "id=" + getId() +
            ", cname='" + getCname() + "'" +
            ", ename='" + getEname() + "'" +
            ", alias='" + getAlias() + "'" +
            ", role='" + getRole() + "'" +
            ", label='" + getLabel() + "'" +
            ", birthday='" + getBirthday() + "'" +
            ", birthSite='" + getBirthSite() + "'" +
            ", identity='" + getIdentity() + "'" +
            ", gender='" + getGender() + "'" +
            ", nationality='" + getNationality() + "'" +
            ", height='" + getHeight() + "'" +
            ", bloodType=" + getBloodType() +
            ", constellation='" + getConstellation() + "'" +
            ", graduatedFor='" + getGraduatedFor() + "'" +
            ", rank='" + getRank() + "'" +
            ", fansCount=" + getFansCount() +
            ", fansName='" + getFansName() + "'" +
            ", brokerageAgency='" + getBrokerageAgency() + "'" +
            ", createdBy='" + getCreatedBy() + "'" +
            ", createdTime='" + getCreatedTime() + "'" +
            ", lastModifiedBy='" + getLastModifiedBy() + "'" +
            ", lastModifiedTime='" + getLastModifiedTime() + "'" +
            "}";
    }
}
